SIMD加速计算矩阵(组成原理实验5)

您所在的位置:网站首页 m128i 类型 SIMD加速计算矩阵(组成原理实验5)

SIMD加速计算矩阵(组成原理实验5)

2023-04-30 02:14| 来源: 网络整理| 查看: 265

d) 一些有益的提示

i. __m128i是Intel用于声明128-bit向量的数据类型,我们会用一个__m128i类型的变量存放四个32-bit的整形数; ii. 代码中提供了一个叫做_127的变量,它当中包含了数字127的四份拷贝,你可以把它用在比较上; iii. 在你完成内层循环体的计算之前,不要使用保存函数(_mm_storeu_si128)。这个函数的计算代价很高,如果你在每一次循环结束时都使用它,你会发现你的代码的性能不够好; iv. 在访问__m128i类型的向量时,不推荐你直接地访问它当中的每一个元素,更好的方法是把__m128i类型的向量用storeu的方法存放到一个普通的数组当中,然后单独访问这个数组当中的元素; e) 实验结果与实验报告 当你完成代码之后,你应该能够观察到以下效果:

i. SIMD版本的代码与未优化的代码的计算结果保持一致;

ii. SIMD版本的代码应该要比未优化的代码快(快多少,记录下性能加速比,并且分析为什么你认为它是正确的结果)

在你的实验报告中提供你的代码、运行结果和你的思考过程,并上传一个简短的带解说的演示视频(只给出代码截图和实验结果,但却不提供分析过程的不给分。)

实验给出的源代码common.h:



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3